本发明涉及数字图像中一种基于内积运算的对称图形中心定位方法,包括:采集图像并输入计算机、计算各像素点的梯度、计算图像的边缘图、基于内积运算计算各像素点的对称性能量获得图像的对称性能量分布图、在阈值约束下在对称性能量分布图上检测局部极大值点,最后,剔除非中心点的局部极大值点,输出对称图形的中心点。本发明提供的方法能够简单、高效的对图像中对称图形的中心进行准确定位,较已有方法简单,具有广泛的适用性。
1.一种基于内积运算的对称图形中心定位方法,其特征在于,包括步骤:xa0步骤S1:采集图像并输入计算机;xa0步骤S2:利用高斯梯度模板计算各像素点的梯度;xa0步骤S3:利用Canny边缘检测算子计算图像的边缘图;xa0步骤S4:基于内积运算计算图像中各像素点的对称性能量,获得图像的对称性能量分布图;具体方法为:给定一个检测半径r,对于图像中任意一点X,利用公式xa0
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>计算点X处的对称性能量,从而获得图像的对称性能量分布图;其中G(X,r)表示边缘图中以点X为圆心,r为半径的一个圆形区域;P
i和P
i′为G(X,r)内的一个对称点对,记点P
i关于点X的对称点为点P
is,则点P
i′为以点P
is为中心的5×5邻域内距离点P
is最近的边缘点;i=1,2,...,No
x,其中No
x为G(X,r)内关于点X对称的边缘点对的个数;<P
i,P
i′>表示点P
i与P
i′的内积运算;e
-di为权重系数,d
i为点P
i′和点P
is之间的距离;mag(·)表示梯度幅值;abs(·)表示取绝对值;xa0步骤S5:在阈值约束下,在对称性能量分布图上检测局部极大值点;具体方法为:计算阈值T=k·Mean(E),其中Mean(E)表示步骤S4获得的对称性能量分布图E的均值,比例系数k的取值为2,在对称性能量分布图上检测对称性能量大于T且在5×5邻域内为局部极大值的点;xa0步骤S6:验证步骤S5获得的局部极大值点,剔除不合理的局部极大值点,保留的局部极大值点即为对称图形的中心点;具体方法为:对于xa0步骤S5获得的任一局部极大值点P,记圆形区域G(P,r)内关于点P对称的对称点对的个数为No
P,将不满足条件No
P>T
s·2πr的局部极大值点剔除,其中T
s为比例系数,取0.4,则被保留的局部极大值点即为图像中对称图形的中心点。xa0
技术领域本发明涉及计算机视觉中的图像特征自动检测领域,特别是数字图像中对称图形中心定位方法。
背景技术图形中心定位是图像处理领域的一个重要问题,被广泛应用于车轮、X射线衍射图、同心圆、星云等图像中心的检测,为驾驶员、天文学家等提供重要的结构信息。目前,用于图形中心定位的方法有多种。Dammer等
[1]利用Hough变换实现了X射线衍射图像中心点的确定。Wong等
[2]提出一种基于运动信息的中心定位算法,从视频序列中获取出圆形和螺旋形物体的中心。而关于人眼中心的定位,多种方法被提出
[3-4]。上述方法主要面向特定的研究对象,Cauchie等
[5]利用自适应Hough变换,采用逐渐精确的方式提出了通用的静态图片中心定位算法;Chung
[6]等在该算法的基础上,利用随机化方法,首先利用任意三个不同梯度方向的边缘点组合确定可能的中心点,然后再剔除错误的中心,实现图像中心点的准确测定。该算法的检测准确性较好,但由于采用边缘点的随机组合方法,运算较为复杂,计算量大。针对现有检测方法中存在的问题,本发明提出一种基于内积运算的对称图形中心定位方法,该方法引入数学中的内积运算,构造对称性描述子,获取图像的对称性能量分布图,进而实现图形中心的准确定位。该方法不需要已知图像的相关信息,运算简单,计算量小,易于实现。参考文献:[1]C.Dammer,P.Leleux,D.Villers,M.Dosiere,Usexa0ofxa0thexa0Houghxa0transformxa0toxa0determinexa0thexa0centerxa0ofxa0digitizedxa0X-rayxa0diffractionxa0patterns,Nuclearxa0Instrumentsxa0andxa0Methodsxa0inxa0Physicsxa0Researchxa0Sectionxa0B:Beamxa0Interactionsxa0withxa0Materialsxa0andxa0Atomsxa0132(1)(1997)214-220.[2]K.Y.Wong,C.L.Yip,Identifyingxa0centersxa0ofxa0circulatingxa0andxa0spiralingxa0vectorxa0fieldxa0patternsxa0andxa0itsxa0applications,Patternxa0Recognitionxa042(7)(2009)1371-1387.[3]N.T.H.B.N.Huan,H.Kim,Locationxa0ofxa0irisxa0ba
sedxa0onxa0circularxa0andxa0linearxa0filters,in:Internationalxa0Conferencexa0onxa0Control,Automation,Roboticsxa0andxa0Vision,Hanoi,2008,pp.412-416.[4]T.R.B.S.E.-R.V.Kith,M.EI-Sharkawy,S.Elnoubi,Axa0featurexa0andxa0appearancexa0ba
sedxa0methodxa0forxa0eyexa0detectionxa0onxa0grayxa0intensityxa0facexa0images,in:Internationalxa0Conferencexa0onxa0Computerxa0Engineeringxa0andxa0Systems,Hahaii,2008,pp.41-47.[5]J.Cauchie,V.Fioletand,D.Villers,Optimizationxa0ofxa0anxa0Houghxa0transformxa0algorithmxa0forxa0thexa0searchxa0ofxa0axa0center,Patternxa0Recognitionxa041(2)(2008)567-574.[6]Kuo-Liangxa0Chung,Yong-HuaiHuang,Jyun-PinWang,Ting-Chinxa0Chang,Hong-Yuanxa0Markxa0Liao,Fastxa0randomizedxa0algorithmxa0forxa0center-detection.Patternxa0Recognitionxa043(2010)2659-2665.
发明内容本发明针对数字图像中的中心定位问题,提供一种基于内积运算的对称图形中心定位方法。为了实现本目的,本发明基于内积运算的对称图形中心定位方法,包括以下步骤:步骤S1:采集图像并输入计算机;步骤S2:利用高斯梯度模板计算各像素点的梯度;步骤S3:利用Canny边缘检测算子计算图像的边缘图;步骤S4:基于内积运算计算图像中各像素点的对称性能量,获得图像的对称性能量分布图;步骤S5:在阈值约束下,在对称性能量分布图上检测局部极大值点;步骤S6:验证步骤S5获得的局部极大值点,剔除不合理的局部极大值点,保留的局部极大值点即为对称图形的中心点。本发明提供的基于内积运算的对称图形中心定位方法,主要利用图形轮廓点关于中心点对称的特性(即图形轮廓上某一点的梯度与该点关于中心点的对称点的梯度反向平行),引入数学中的内积运算,构造对称性描述子计算各像素点的对称性能量,从而获得图像的对称性能量分布图;然后在阈值约束下,在对称性能量分布图上检测局部极大值点,并利用约束条件剔除非中心点的局部极大值点,获得图形中心的准确定位。本发明提供的方法运算简单、易于实现,且计算效率较高。
附图说明图1为本发明基于内积运算的对称图形中心定位方法流程图。图2a为实施例中使用的原始图像。图2b为利用Canny算子在图2a上获得的边缘图;图2c为本发明提供的方法在图2a上获得的对称性能量分布图;图2d为在图2c上进行局部极大值检测获取的局部极大值点;图2e为利用本方法获得的对称图形中心定位结果。
具体实施方式如图1所示为本发明基于内积运算的对称图形中心定位方法流程图,包括:采集图像并输入计算机、计算各像素点的梯度、计算图像的边缘图、计算各像素点的对称性能量获得图像的对称性能量分布图、在阈值约束下在对称性能量分布图上检测局部极大值点,最后,剔除非中心点的局部极大值点,输出对称图形的中心点。各步骤的具体实施细节如下:步骤S1:采集图像并输入计算机。步骤S2:利用高斯梯度模板计算各像素点的梯度。步骤S3:利用Canny边缘检测算子计算图像的边缘图。步骤S4:基于内积运算计算图像中各像素点的对称性能量,获得图像的对称性能量分布图。给定一个检测半径r,对于图像中任意一点X,利用公式
E ( X ) = Σ P i , P i ′ ∈ G ( X , r ) e - d i · abs ( < P i , P i ′ > mag ( P i ) · mag ( P i ′ ) ) ]]>计算点X处的对称性能量,从而获得图像的对称性能量分布图;其中G(X,r)表示边缘图中以点X为圆心,r为半径的一个圆形区域;P
i和P′
i为G(X,r)内的一个对称点对,记点P
i关于点X的对称点为点P
is,则点P′
i为以点P
is为中心的5×5邻域内距离点P
is最近的边缘点;i=1,2,...,No
X,其中No
X为G(X,r)内关于点X对称的边缘点对的个数;<P
i,P′
i>表示点P
i与P′
i的内积运算;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="79"/>为权重系数,d
i为点P′
i和点P
is之间的距离;mag(·)表示梯度幅值;abs(·)表示取绝对值。步骤S5:在阈值约束下,在对称性能量分布图上检测局部极大值点。计算阈值T=k·Mean(E),其中Mean(E)表示步骤S4获得的对称性能量分布图E的均值,比例系数k的取值范围为2~5,在对称性能量分布图上检测对称性能量大于T且在5×5邻域内为局部极大值的点。步骤S6:验证步骤S5获得的局部极大值点,剔除不合理的局部极大值点,保留的局部极大值点即为对称图形的中心点。对于步骤S5获得的任一局部极大值点P,记圆形区域G(P,r)内关于点P对称的对称点对的个数为No
P,将不满足条件No
P>T
s·2πr的局部极大值点剔除,其中T
s为比例系数,一般取0.4~0.8,则被保留的局部极大值点即为图像中对称图形的中心点。实施例如图2a所示一幅原始灰度图像,图像大小为61×120,图像中包含2个大小相同的圆形硬币。下面介绍使用本发明提供的方法定位对称图形中心的具体实施步骤:步骤S1:采集图像并输入计算机。步骤S2:利用高斯梯度模板计算各像素点的梯度。步骤S3:利用Canny边缘检测算子计算图像的边缘图。利用Canny算子进行边缘检测时的高斯尺度设置为1.0,进行连接时的高低阈值参数分别设置为0.2与0.3,如图2b所示为使用Canny算子对图2a进行边缘检测后获得的边缘图。步骤S4:基于内积运算计算图像中各像素点的对称性能量,获得图像的对称性能量分布图。给定一个检测半径r=35,对于图像中任意一点X,利用公式
E ( X ) = Σ P i , P i ′ ∈ G ( X , r ) e - d i · abs ( < P i , P i ′ > mag ( P i ) · mag ( P i ′ ) ) ]]>计算点X处的对称性能量,从而获得图像的对称性能量分布图;其中G(X,r)表示边缘图中以点X为圆心,r为半径的一个圆形区域;P
i和P′
i为G(X,r)内的一个对称点对,记点P
i关于点X的对称点为点P
is,则点P′
i为以点P
is为中心的5×5邻域内距离点P
is最近的边缘点;i=1,2,...,No
X,其中No
X为G(X,r)内关于点X对称的边缘点对的个数;<P
i,P′
i>表示点P
i与P′
i的内积运算;
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="79"/>为权重系数,d
i为点P′
i和点P
is之间的距离;mag(·)表示梯度幅值;abs(·)表示取绝对值。如图2c所示为图2a的对称性能量分布图。步骤S5:在阈值约束下,在对称性能量分布图上检测局部极大值点。设置k=2,Mean(E)=2.4086,计算阈值T=4.8173,在对称性能量分布图上检测对称性能量大于T且在5×5邻域内为局部极大值的点,共计获得6个局部极大值点,如图2d为在图2c上进行局部极大值检测获取的局部极大值点。步骤S6:验证步骤S5获得的局部极大值点,剔除不合理的局部极大值点,保留的局部极大值点即为对称图形的中心点。设置比例系数T
s=0.4,对于获得的6个局部极大值点P
i(i=1,2,...,6),将不满足条件
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="359"/>的局部极大值点剔除,则被保留的3个局部极大值点即为图像中对称图形的中心点,如图2e所示。可以看出,本发明提供的方法利用内积这一数学运算,结合对称图形的特征,构造对称性能量描述子,获取图像的对称性能量分布图,实现图像对称性结构的表示,其中,对称性能量较大的点对应于图形的中心点。该方法不需要已知图像的相关信息,构造描述子后,不需要其他复杂的计算,运算简单且易于实现。在计算时间方面,均采用C++语言进行编程实现,利用本发明提供的方法在实施例图像上进行检测耗时0.5s,而利用随机化方法对图2a进行检测分别耗时0.8s,本发明提供的方法计算效率更高。